This invention relates generally to computer telephony systems and, more particularly, to systems and methods for providing telephone functionality and interfacing to a physical telephone in a computer telephony system.
An enterprise""s telephone system is often the business""s primary lifeline, maintaining contact with clients and customers, allowing it to receive orders, conducting conferences, soliciting new business, etc. As such, it is vitally important that an adequate number of telephone lines be available to the enterprise""s use as needed. Unfortunately, business economic decisions almost completely prohibit each employee from having a direct link to a telephone line at all times. The cost of such a high number of telephone lines dedicated for each employee is simply prohibitive. Further, such a system of direct linkage does not easily accommodate calls between internal employees within the business enterprise without utilizing the direct external lines. Fortunately, private branch exchanges (PBXs) were developed and made available to business enterprises.
A PBX is a telephone system within the enterprise that switches calls between enterprise users on local lines within the business, while allowing all users to share a certain number of external phone lines. The PBX is typically privately owned by the business enterprise, and may be thought of as a small version of the primary telephone carrier""s central switching office. The primary benefit to a business enterprise for owning a PBX system is the efficiency and cost savings of sharing a specific small number of telephone lines among a large group of employees. In this way, all employees have access to external customers and clients, albeit not all at the same time. However, within the business enterprise users may freely contact other enterprise employees in single and multi-party conferences without incurring any line usage time for their external telephone lines. Further, such calls and multi-party conferences do not occupy the incoming or outgoing telephone lines so that the business may continue to conduct normal business with its customers and clients. While the original PBX systems included large switchboards managed by telephone operators, modem day PBX systems have automated the functions of routing incoming calls to specific extensions and placing outgoing calls. These modern PBX systems are more specifically known as private automatic branch exchanges (PABXs), however both terms may be and are used interchangeably.
In addition to the basic call switching functions, modern PBX systems offer numerous additional features known as xe2x80x9csupplementary servicesxe2x80x9d, such as call hold, transfer, conferencing, park, and pickup; these supplementary services features number in the hundreds in most modem PBX systems. Modern PBX systems are typically provided to a business enterprise with proprietary digital telephones that offer dedicated or soft function keys and display screens to access those features. Currently, most PBX systems are sold as a complete business solution provided by a single PBX system provider. This total business solution includes both the functional hardware and software for the routing and switching of calls carried therein, and the particular proprietary digital phones placed on each employee""s desk for accessing the features and functions of the system.
In the typical PBX system, the proprietary digital phones include many fixed and programmable buttons, lights, soft keys, and typically a display screen for relaying certain textural and graphical information to the enterprise user. While these proprietary digital phones provide the direct user interface to the PBX system, and allow users to individually program various buttons provided thereon, these digital phones are actually relatively unintelligent devices. The actual intelligence which lies behind the physical programmable buttons, display, lights, and ringers exists within the PBX""s software programming. Specifically, the particular PBX system sold to the business enterprise contains low level driver functionality incorporated within the core software of the PBX system to drive the individual proprietary digital phones (often referred to as station sets) in a known physical way. That is to say, the PBX system software incorporates drivers for a particular physical configuration of the station set sold with the system, These drivers allow the PBX system to light a particular light and respond a particular way to a given button pressed on the station set. This functionality does not lie within the station set itself. Therefore, when a station set flashes a call waiting button, it does so as a direct result of the PBX core software driving that particular light in response to a call waiting situation. The station set itself does not contain intelligence which allows it to determine that a call is waiting and choose a proper user indication.
While such a configuration allows for PBX vendor differentiation based upon the number of features and style of phone offered, it also ties a business enterprise to its PBX supplier for all services and hardware, including replacement telephones. While it is possible for third-party telephone vendors to provide replacement telephones, such phones could not use the particular configuration as supplied by the original PBX system supplier since these phones are typically proprietary. Additionally, new software would need to be written and integrated within the PBX core software to allow proper interfacing with the new style phone. Unfortunately, since the typical PBX system incorporates the telephone interface and functional accessing features within the core of the PBX operating software, such a third-party solution becomes cost and technically prohibitive. Further, most business enterprises would not want a third-party telephone vendor implementing software within the core of its PBX operating system.
The practical result of this situation is that a business enterprise is confined to particular proprietary digital telephones supplied with the PBX system, or other models provided by their PBX supplier which are also supported by the installed PBX system. Such a situation allows PBX suppliers to provide their core operating system at a very low cost because once installed, the business enterprise becomes a captive client for all future telephone purchases to be used with the system. This is a very profitable situation for the PBX supplier, but is not desirable from the business enterprise standpoint. Unfortunately, since the telephone interface is imbedded within and distributed throughout the PBX core operating software, a solution to this problem must begin at the core operating system level. It is such a solution that is presented by the instant invention.
The inventive concepts disclosed in this application involve a telephony system which includes as part of its core a telephone abstraction capable of interfacing with telephone abstractions drivers (TAD), which contain specific information for a particular type of telephone. This abstraction enables the telephony system to operate with any type of telephone. As used herein, telephone and phone should be understood to include all types of peripheral endpoints on the telephone system, including but not limited to simply telephones. The interoperability is gained by pushing the high level functionality of each particular type of telephone out of the core telephony system and into the individual telephone abstraction drivers (TAD) for a particular manufacturer or a particular model telephone. In this way a telephone manufacturer would supply its model telephone along with a software TAD to allow its phone to be utilized with the telephony system. As a result, the telephony system of the instant invention becomes an open system whereby the manufacturer of the telephony system may easily integrate telephones produced by third-party telephone vendors, or permit third-party telephone vendors to sell equipment directly to value-added resellers or end user customers for attachment to telephony systems in the field without the necessity for direct coordination with the telephony system provider.
As discussed above, current PBX and other telephony systems are closed, monolithic systems wherein the only telephones supported by the system are those supplied by the manufacturer of the overall system itself. A majority of these telephones are proprietary digital phones whose functionality is embedded in and controlled by the core software of the telephony system. The phones themselves are typically unintelligent and merely provide the button illumination, screen display, ring type, and phone functions which are specifically supplied by the core telephony system. Integrating a new telephone type is an arduous and complex process involving modifications to the core elements of the system, requiring expert knowledge and access to sensitive proprietary design information and interfaces. This essentially prohibits any third-party vendor from building telephones to be used interchangeably with these closed systems.
The system of this invention, therefore, provides within the core telephony system a telephone abstraction layer which provides the call, line, and phone functions as well as the information to be displayed and physical configuration at a high level abstraction that may be interpreted and properly displayed by any telephone coupled to the system. In an exemplary platform, the system of the instant invention provides the high level telephone abstraction to the supplementary services application (SSA) layer above the basic call switching layer. With this abstraction, the SSA merely passes down the information and call control functionality to be displayed by the telephone through the basic call switching layer in a prioritized fashion. This information is received by the TAD, which actually takes care of the proper formatting and display conversion necessary to properly display and control the actual physical telephone coupled to the system (access to the telephone hardware may be achieved through hardware device drivers, through a middleware hardware abstraction layer, or by other means). The particular TAD for the telephone coupled to the system will display on the physical telephone the information provided to it as it deems appropriate, which display may be a subset of the actual information provided by the SSA, and which may include additional information not supplied by the SSA. For example, a phone conforming to Telcordia (formerly Bellcore) standards for ISDN Centrex would only be able to display 2 lines by 20 characters whereas some other model digital phone may be able to display vastly greater information on a much larger higher resolution display. Further, the TAD could provide an interface to software executing on a personal computer (PC) that allows the PC to act as a phone, in which case all of the possible information supplied may be displayed to the user on a graphical user interface on a video monitor, using the PC multimedia subsystem, etc., depending on design requirements.
The system of the instant invention contemplates various alternatives for the mechanism which supplies the information ultimately to be displayed to the telephone. The SSA may directly access the directory service of the underlying operating system software to extract the relevant information relating to the call, and transport that information through the basic call switching software to the TAD for processing therein. The TAD would then determine in a prioritized fashion which of that information sent to it would be formatted for actual display on the particular telephone coupled to the telephony system. Alternatively, the SSA may merely pass basic call information to the TAD along with a pointer to the directory identifying the location of the relevant information relating to the call. It would then be the responsibility of the TAD to extract the relevant information from the directory for display on the particular telephone. In this way, information which cannot be displayed on the particular telephone is not passed to the TAD, resulting in more efficient operation.
Additionally, the system of the instant invention also contemplates the use of various helper functions which may contain pre-formatted display strings based upon certain telephony standards. Once such standard specification is the Telcordia (Bellcore) specification for telephones used with an ISDN Centrex system, which outlines the basic telephone display for a two-line by twenty-character display. In this way, pre-formatted code may be supplied to the TAD so that the standardized display strings would not need to be formatted within each of the TAD""s for the various models of telephones. These helper functions could also contain strings in multiple languages to localize the display information for the telephone in various countries or based on user preferences.
By providing specific telephone functionality at the TAD level (as opposed to within the core telephony software) the system of the instant invention allows the behavior and user interface of the telephone to be personalized to the particular user of that telephone. Specifically, functionality may be provided within the TAD to allow a particular user to configure the telephone to his or her liking by selecting various speed dial numbers, ring types, display formats, display and audible message languages, etc. This personality may be stored in the directory by allowing the TAD to add sections for the particular client listing provided therein. With such a provision, a user may be able to log in to the telephony system, identify himself to his phone, and have the telephone configure itself to the individual""s preprogrammed and personalized configuration. In this way, the telephone will be configured to the user""s preferences regardless of the user""s and the telephone""s physical location within the business enterprise. Such a system is particularly applicable in a company which utilizes a xe2x80x9chotelingxe2x80x9d environment, such as a field sales office or call center, in which individuals use any available office on a given day and are not permanently assigned to a physical work location.
Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments which proceeds with reference to the accompanying figures.